package collection.sort;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;

public class FinalElement {

    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();

        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);

        int cnt = 0;
        for(Integer ele: list) {
            System.out.println(ele);
            cnt++;

            // 这里cnt为1、2、3就会异常，为4时不会抛出异常
            if (cnt == 4) {
                list.sort(Comparator.comparingInt(input -> input));
            }
        }


        // for循环会被优化为迭代器，
        Iterator<Integer> iterator = list.iterator();
        // 到最后一个元素的时候，只会执行hasNext，不会执行next了，所以也就不会检查了
        assert iterator.hasNext();
        while (iterator.hasNext()) {
            Integer next = iterator.next();
            System.out.println(next);
        }
    }
}
